﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Collections;
using System.Web.Mvc;

namespace Beeldbankmvc.Models
{
    public class ReactionModel
    {
        public ReactionModel()
        {
        }

        public static IList<SelectListItem> reactionSubjectList()
        {
            IList<SelectListItem> itemList = new List<SelectListItem>();
            itemList.Add(new SelectListItem { Text = "Vraag", Value = "1" });
            itemList.Add(new SelectListItem { Text = "Probleem", Value = "2" });
            itemList.Add(new SelectListItem { Text = "Suggestie", Value = "3" });
            itemList.Add(new SelectListItem { Text = "Klacht", Value = "4" });

            return itemList;
        }

        public static IList<SelectListItem> subjectList()
        {
            IList<SelectListItem> itemList = new List<SelectListItem>();
            itemList.Add(new SelectListItem { Text = "Vraag", Value = "1" });
            itemList.Add(new SelectListItem { Text = "Probleem", Value = "2" });
            itemList.Add(new SelectListItem { Text = "Suggestie", Value = "3" });
            itemList.Add(new SelectListItem { Text = "Klacht", Value = "4" });

            // for image reaction
            itemList.Add(new SelectListItem { Text = "Reactie media object", Value = "5" });

            // for searchimage
            itemList.Add(new SelectListItem { Text = "Zoekplaatje", Value = "6" });

            return itemList;
        }

        public static IList<SelectListItem> categoryList()
        {
            IList<SelectListItem> itemList = new List<SelectListItem>();
            itemList.Add(new SelectListItem { Text = "Algemeen", Value = "1" });
            itemList.Add(new SelectListItem { Text = "Bestelling", Value = "2" });
            return itemList;
        }

        public static IList<SelectListItem> reactieStatusList()
        {
            IList<SelectListItem> itemList = new List<SelectListItem>();
            itemList.Add(new SelectListItem { Text = "", Value = "1" });
            itemList.Add(new SelectListItem { Text = "Verwerkt", Value = "2" });
            itemList.Add(new SelectListItem { Text = "Afgewezen", Value = "3" });
            return itemList;
        }

        public int Id { get; set; }
        public DateTime Datum { get; set; }
        public string Status { get; set; }
        public int MediaObjectId { get; set; }
        public string MediaObjectEigenaarEmail { get; set; }
        public string MediaObjectEigenaarNaam { get; set; }
        
        [Required(ErrorMessage = "Emailadres is verplicht")]
        [DataType(DataType.EmailAddress)]
        [EmailValidation(ErrorMessage = "Geen valide Email Address")]
        [DisplayName("Emailadres *")]
        public string Email { get; set; }

        [Required(ErrorMessage = "Naam is verplicht")]
        [DataType(DataType.Text)]
        [DisplayName("Naam *")]
        public string Name { get; set; }

        [DataType(DataType.Text)]
        [DisplayName("Telefoon")]
        public string Telephone { get; set; }

        [DataType(DataType.Text)]
        [DisplayName("Onderwerp")]
        public string Subject { get; set; }

        [DataType(DataType.Text)]
        [DisplayName("Categorie")]
        public string Category { get; set; }

        [Required(ErrorMessage = "Bericht is verplicht")]
        [DataType(DataType.MultilineText)]
        [DisplayName("Bericht *")]
        public string Message { get; set; }

        [DataType(DataType.Text)]
        [DisplayName("Titel")]
        public string MediaObjectTitel { get; set; }

        [Required(ErrorMessage = "Omschrijving is verplicht")]
        [DataType(DataType.Text)]
        [DisplayName("Omschrijving *")]
        public string MediaObjectOmschrijving { get; set; }

        [DataType(DataType.Text)]
        [DisplayName("Locatie")]
        public string MediaObjectLocatie { get; set; }
        
    }
}